home *** CD-ROM | disk | FTP | other *** search
/ The Atari Compendium / The Atari Compendium (Toad Computers) (1994).iso / files / umich / telecomm / shadow11.arc / README.11 < prev    next >
Encoding:
Text File  |  1988-10-30  |  16.9 KB  |  431 lines

  1. SHADOW version 1.1 Enhancements
  2. ================================
  3.  
  4. Most of the enhancements in SHADOW version 1.1 are not available from within
  5. Flash 1.6. Most notably Flash 1.6 cannot find SHADOW when SHADOW is installed
  6. in the NON RESET-PROOF mode. The next version of Flash will incorporate all the
  7. new features. In the meantime, all of the features are usable when SHADOW is
  8. run as an accessory or a GEM program.
  9.  
  10. SHADOW Accessory
  11. ================
  12.  
  13. The SHADOW desk accessory is renamed from SHADOW.ACC to SHDW_ACC.ACC to avoid a
  14. name conflict when the desk accessory is used as a GEM program.
  15.  
  16. By renaming SHDW_ACC.ACC to SHDW_ACC.PRG, you can run the SHADOW accessory
  17. as a GEM program, thereby allowing you to access SHADOW without having the
  18. desk accessory installed all the time.
  19.  
  20.  
  21. NON RESET-PROOF MODE
  22. ====================
  23.  
  24. SHADOW can now be installed as NON RESET-PROOF.  When installed this
  25. way, SHADOW only reserves enough memory for the transfer handler, not
  26. the transfer buffer. When a transfer is desired, you allocate the size
  27. of the buffer you need.  When the transfer is completed, you can
  28. deallocate the memory used for the transfer buffer.
  29.  
  30. To install SHADOW as a NON RESET-PROOF handler, simply specify a RAMdisk
  31. and transfer buffer size of zero (0) in your SHADOW.INF file, on your
  32. desktop icon, or on startup using the 'on the fly' startup keys.
  33.  
  34. If SHADOW is installed this way, you will be prompted for the file transfer
  35. buffer size before each file transfer, unless the buffer remains intact
  36. from a previous transfer (i.e., it has not been deallocated).  If the
  37. transfer buffer is intact, you will not be prompted, but you can still
  38. change the size (see "Changing Options" below).
  39.  
  40. You can also install SHADOW with a RAMdisk and no transfer buffer.  When
  41. installed this way, you have a RESET-PROOF RAMdisk, but the transfer buffer
  42. is NON RESET-PROOF.  You will be prompted for the transfer buffer when you
  43. start a transfer, and you can alter the transfer buffer size (see "Changing
  44. Options" below).
  45.  
  46. NOTE:
  47.     You CANNOT allocate a transfer buffer from the SHADOW accessory being
  48.     run as a program when the handler is installed with the SHADOW RAMdisk.
  49.     You CAN allocate a transfer buffer if allocating from the desk accessory.
  50.  
  51. NOTE:
  52.     When you have SHADOW installed as a NON RESET-PROOF handler, it will
  53.     be erased during a reset. All data in the buffer will be lost. DO NOT
  54.     press the reset button unless you don't mind losing the data in the
  55.     transfer buffer!
  56.  
  57.  
  58. Changing Options
  59. ================
  60.  
  61. Three new options are configurable from SHADOW, these are the current timeout
  62. value, the buffer size (NON RESET-PROOF mode ONLY), and the on-screen
  63. counter location.
  64.  
  65. To get to the Options menu, click on the transfer buffer size button from
  66. the main menu (contains text such as 100K) or press the 'O' (Options) key.
  67. While in the terminal mode press the ALT-O keys simultaneously.
  68.  
  69. NOTE:
  70.     Version 1.01 used 'W' (Wait) for this button from the main menu,
  71.     this version uses 'O' (Options) instead.
  72.  
  73. You will be presented with a dialog box asking you 'Choose What to Set,'
  74. with three buttons to select:
  75.  
  76. Timeout         - click on this to set the current timeout value.  You will
  77.                   be presented with a dialog box asking you to 'Enter New
  78. Can also be       Timeout.'  Enter the new value in seconds.  You cannot
  79. accessed by       enter below 10 seconds.  Click on Okay, or press the
  80. pressing          letter 'O' key, or <RETURN>.  Press the right mouse button
  81. the 'T' key       or <UNDO> key to not set the value.
  82.  
  83.  
  84. Buffer Size     - click on this to set the transfer buffer size.  The top
  85.                   line will tell you the 'Largest Memory Blk' (block) in
  86. Can also be       Kilobytes that you can allocate.  If you currently have a
  87. accessed by       buffer allocated, its size will be indicated on the second
  88. pressing          line.  It is possible (if memory is not fragmented) that
  89. the 'B' key       you can add the two values together to compute the
  90.                   maximum available free memory.  To truly determine the
  91.                   maximum free memory, enter a buffer size of zero (0),
  92.                   press the <RETURN> or 'O' key or click on the Okay button.
  93.                   Choose Buffer Size again.  At this point, the top line
  94.                   WILL indicate the maximum free memory available for the
  95.                   transfer buffer.  Enter the desired buffer size in Kbytes.
  96.                   If you are in the process of a transfer or have a file(s)
  97.                   waiting to be received/sent you will not be able to
  98.                   select this option.  You CANNOT select this option if you
  99.                   are in RESET-PROOF mode.
  100.  
  101.             NOTE: If you execute the SHADOW accessory as a program, you
  102.                   CANNOT allocate a transfer buffer from the program when the
  103.                   SHADOW RAMdisk is installed.
  104.  
  105.  
  106. Counter Location- click on this to set the on-screen counter location.  When
  107.                   you click on this button, a box will appear in the current
  108. Can also be       counter location with the text '9999/9/99' in it.  Position
  109. accessed by       the mouse over the box, press the left mouse button and
  110. pressing          while keeping the left mouse button depressed, drag the
  111. the 'C' key       outline box (which appearred when you pressed the mouse
  112.                   button) to the desired screen location.  The new counter
  113.                   location will appear in the place you just chose.  You may
  114.                   continue to do this until you get the counter positioned
  115.                   where you like it.  Press the RIGHT MOUSE button to exit
  116.                   this mode and return to the Options menu.
  117.  
  118. Press the RIGHT MOUSE button or <UNDO> key to exit the Options menu.
  119.  
  120.  
  121. SHADOW.INF
  122. ==========
  123.  
  124. SHADOW.INF save now deletes any existing SHADOW.INF file before trying to
  125. create a new one. This is to work around an OS bug which sometimes caused
  126. two SHADOW.INF files to be in the AUTO directory.
  127.  
  128. SHADOW.INF now contains an extra line which contains the location for the
  129. on-screen counter location.  The line looks like:
  130.  
  131. L071,024
  132.  
  133. where 071 is the x value in character coordinates and 024 is the y value.
  134. This value will be read by the SHADOW accessory to set the location.  The
  135. default location is in the upper right hand corner.
  136.  
  137. NOTE:
  138.     RESAVE your SHADOW.INF file to include all current values.
  139.  
  140.  
  141. Hangup String
  142. =============
  143.  
  144. Pressing ALT-H in the terminal will now send out a hangup string.  The
  145. hangup string is configurable from the dialer menu.  Here is how to configure
  146. the hangup string.
  147.  
  148. For a HAYES compatible modem, a typical hangup string might look like this:
  149.  
  150.         %(1)+++%(2)ATH|
  151.  
  152. This string will delay for 1 second, send out '+++' to the serial port,
  153. delay for another 2 seconds, then send out 'ATH' followed by a carriage
  154. return.
  155.  
  156. To delay for up to 32767 seconds, you MUST enter a string in the HANGUP
  157. field with the syntax of:
  158.  
  159.         %(seconds)
  160.  
  161. where seconds is a whole positive number of seconds to delay.
  162.  
  163. Any text after the above construction will be sent after the delay.  To send
  164. a '%' out, enter %% in the hangup field.
  165.  
  166. A vertical bar '|' will be substituted with a carriage return.
  167.  
  168. This hangup string will be saved in your .MDM file.  You MUST resave your
  169. directories to have this string load when you load a directory.  Old SHADOW
  170. directories are 100% compatible with this addition.
  171.  
  172.  
  173. Terminal
  174. ========
  175.  
  176. If you are currently dialing, ALT-A from the terminal will abort the dialer.
  177.  
  178. Pressing F3 would sometimes act like it was not being pressed, resulting in
  179. the need to press it until the abort message came up.  This is fixed.
  180.  
  181. Answering 'N' to abort transfer before the transfer begins will now redraw
  182. the status line.
  183.  
  184. When receiving Y-Modem Batch, the expected file size will also be displayed
  185. in the status line, but only if the sender sends the file size in the
  186. startup packet.
  187.  
  188. ALT-O brings up the Options menu (see above).
  189.  
  190.  
  191. Transfer Status
  192. ===============
  193.  
  194. The status line has been greatly enhanced.  If you are running the terminal
  195. in medium or high resolution, you have a lot more information during file
  196. transfers.  A typical status line during a file transfer might be:
  197.  
  198. -----------------------------------------------------------------------------
  199.  Receiving FILENAME.EXT | Block 5/2 | Size 12345  Recv'd 2048 | File 2
  200. -----------------------------------------------------------------------------
  201.  or
  202. -----------------------------------------------------------------------------
  203.  Sending FILENAME.EXT | Block 5/2 | Size 12345  Sent 2048 | File 2 of 7
  204. -----------------------------------------------------------------------------
  205.   ^        ^                  ^ ^        ^           ^      ^
  206.   |        |                  | |        |           |      |
  207.   |        |                  | |        |           |    Current File 
  208.   |        |                  | |        |           |    (1 for non Y-Batch)
  209.   |        |                  | |        |           |
  210.   |        |                  | |        |      Bytes sent/received thus far
  211.   |        |                  | |        |
  212.   |        |                  | |  Actual size (???? for non Y-Batch Receive)
  213.   |        |                  | |
  214.   |        |                  | Retry count
  215.   |        |                  |
  216.   |        |              Current Block
  217.   |        |
  218.   |      Current Filename (All sends; protocol for non Batch or
  219.   |                                                non B-Protocol receive)
  220.  Current direction
  221.  
  222. Low resolution will have just the Direction, Filename/Protocol,the Actual
  223. file size, and Bytes sent/received thus far.
  224.  
  225. The dialog box displaying current file status (displayed when you select
  226. SHADOW from the DESK menubar during a transfer), now looks like:
  227.  
  228.         +------------------------+
  229.         |  FILENAME.EXT   12345  |
  230.         |------------------------|
  231.         | Block = 10/2 | File 1  |
  232.         |------------------------|
  233.         |       +-------+        |
  234.         |       | Abort |        |
  235.         |       +-------+        |
  236.         +------------------------+
  237.  
  238. where:
  239.         FILENAME.EXT    is the current file being sent or received, or the
  240.                         protocol in non Y-Batch or non B-Protocol receives.
  241.  
  242.         12345           is the actual file size expected on Y-Batch receives,
  243.                         bytes received thus far for non Y-Batch receives,
  244.                         bytes to send for all sends.
  245.  
  246.         Block = 10/2    is the current block (10) and retry count (2) for
  247.                         the current block.
  248.  
  249.         File 1          is the current file being sent or received, always
  250.                         one (1) for non Y-Batch protocols.
  251.  
  252.  
  253. .TOS or .TTP file status display has also been greatly enhanced.  A typical
  254. display (defaults to upper right hand corner) might be:
  255.  
  256. 3   /2/5
  257. ^    ^ ^
  258. |    | |
  259. |    | Current file being sent or received (always 1 for non Y-Batch)
  260. |    |
  261. |  Retry count for current block
  262. |
  263. Current block being sent/received
  264.  
  265. Additionally, periodic messages might be displayed during the transfer:
  266.  
  267. RESENDING   - other end requested retransmission of current block
  268. TIME OUT    - a timeout condition occurred; retry block
  269. SUM ERROR   - a checksum/CRC error occurred on current block; retry block
  270. FILE OKAY   - file received OK during Y-Modem batch
  271.  
  272. The message will appear for approximately one second instead of the block
  273. counter, then the block counter will be redisplayed.
  274.  
  275. The method used to display the digits has changed.  You will now notice a
  276. 'strobe' effect if the screen is redrawn.
  277.  
  278.  
  279. Handler
  280. =======
  281.  
  282. Two calls have been added to the SHADOW routines.  These calls will
  283. return the current version number and set the current on-screen counter
  284. location.  See 'Programmers' below for calling procedure.  Additionally,
  285. the current routines have been modified to detect the NON RESET-PROOF
  286. handler.  See the SHDWACES.S file for the new calls and changes to existing
  287. SHADOW calls.
  288.  
  289. EOT detection has been enhanced to help weed out false EOTs.
  290.  
  291. On Y-Modem Batch receives, the expected file size is checked against the
  292. remaining buffer size.  If the file is too large, the transfer will abort
  293. with the message "Buffer Full" before the transfer of that file is started.
  294.  
  295. The background auto-dialer will now only check for characters up to ASCII
  296. value 127.  You can enter values greater than that in the strings, but they
  297. will cause the string to be never found.
  298.  
  299. The RAMdisk handler has been reworked to tweek more speed out of it and
  300. allow for large RAMdisks.
  301.  
  302.  
  303. Programmers
  304. ===========
  305.  
  306. For programmers, two calls have been added to SHADOW.  One to retrieve the
  307. current handler version, and the other to set/get the current on-screen
  308. counter location.  These are routines number 11 and 12 (see owner's
  309. manual, Appendix A)
  310.  
  311. Routine #       Name
  312. ---------------------------------------------------------------------------
  313.      11         shdw_version -> return the current handler version
  314.      12         shdw_location-> set/get current on-screen counter location
  315.  
  316. Here is the 'C' level bindings written in Megamax C:
  317.  
  318. int shdw_version()
  319. {
  320.   asm {
  321.     move.w #11,-(A7)
  322.     trap   #15
  323.     addq.l #2, A7
  324.   }
  325. }
  326.  
  327. Using this call will return a decimal value equivalent to the current
  328. version, such as 110 (one hundred ten) for version 1.1
  329.  
  330. Use as such:
  331.  
  332.     version = shdw_version();
  333.  
  334. Older versions of the handler will return the function number (11).
  335.  
  336. NOTE:
  337.     Any illegal function call will return the number passed as the
  338.     function number.  This applies for all versions.
  339.  
  340.  
  341. int shdw_location(x,y)
  342. int x, y;
  343. {
  344.   asm {
  345.       move.w y(A6), -(A7)
  346.       move.w x(A6), -(A7)
  347.       move.w #12, -(A7)
  348.       trap   #15
  349.       addq.l #6, A7
  350.   }
  351. }
  352.  
  353. Pass x and/or y in character coordinate values to set that coordinate.
  354. Passing a -1 for the x coordinate will return the current on-screen location
  355. of the x coordinate in the upper byte of the lower word of D0.
  356. Passing a -1 for the y coordinate will return the current on-screen location
  357. of the y coordinate in the lower byte of the lower word of D0.
  358.  
  359. For example, calling shdw_location(-1,-1) would return in D0:
  360.  
  361. |  High    Word |  Low     Word |
  362. +-------+-------+-------+-------+
  363. |   0   |   0   |   x   |   y   |
  364. +-------+-------+-------+-------+
  365.  
  366.  
  367. SHADOW Structure
  368. ================
  369.  
  370. In addition, version 1.1 has two more records added to the SHADOW internal
  371. structure.  These records will contain the current ASCII string file length
  372. for the current Y-Modem batch file being received, and an integer value of
  373. the current retry count.  Here is the new record:
  374.  
  375. typedef struct SHDW_STRUCT {
  376.     int     block,          /* current transfer block */
  377.             status;         /* current status, defined in Appendix A */
  378.     long    rec_bytes,      /* bytes received thus far */
  379.             sent_bytes;     /* bytes sent thus far */
  380.     int     num_files;      /* number of files to send or recieved */
  381.     long    b_bytes[32],    /* batch file sizes, 32 max */
  382.             b_files[4*32];  /* batch file names (on 4 long boundary) 32 max */
  383.     int     digit_flag,     /* on-screen digits? 0 = no, 1 = yes */
  384.             bell_flag,      /* completion bell? 0 = no, 1 = yes */
  385.             mode,           /* transfer mode (0-5, defined in Appendix A) */
  386.             type,           /* transfer direction, 1 = receive, 2 = send */
  387.             dial_flag;      /* dialing? 0 = no, 1 = yes */
  388.     char    bfile_len[10];  /* ASCII string: expected length of BATCH file
  389.                                 now being received */
  390.     int     retries;        /* current retry count for above block */
  391. };
  392.  
  393. In conjunction, the new call (version) with the structure change will allow
  394. for enhanced file transfer reporting, while still maintaining downward
  395. compatibility with pre-version 1.1 releases.
  396.  
  397.  
  398. Directories
  399. ===========
  400.  
  401. The last directory path used for a SHADOW send or receive will be remembered
  402. for the next transfer.  Previously, the current path was used, despite the
  403. previous path.
  404.  
  405.  
  406. Default Buttons
  407. ===============
  408.  
  409. Almost every dialog box now has a default button which can be selected by
  410. pressing the <RETURN> key.  A default button is denoted by a larger border
  411. than the other buttons.  For example, the Save/No Save dialog box has a
  412. default button of Save, and may be selected by simply pressing <RETURN>.
  413. All one button dialog boxes have the one button as the default.
  414.  
  415. NOTE:
  416.     You may still press the FIRST letter of mostly all buttons to select
  417.     that button.  Refer to you owner's manual for more information.
  418.  
  419.  
  420. Aborting
  421. ========
  422.  
  423. Aborting from the status dialog box will now delay for one second, then
  424. reappear with:
  425.  
  426.         - An alert box reporting "Aborting Transfer"
  427.         - A dialog box indicating "Transfer Complete. Save|No Save"
  428.         - The main menu
  429.  
  430.  
  431.